Node.jsで実行中のOSの情報を取得する。
はじめに
今回は小ネタです。
gulp等でレポートを生成し、制し得したレポートを確認したいといったことがあります。
gulpでファイル等を開く際に使えるプラグインとしてstevelacy/gulp-openがあるのですが、 例えばchromeで開きたいといった際にO/Sごとに付与するoptionが異なります。
そういった際にO/S情報をどのように取得するかといったtipsになります。
実装
O/Sの情報取得はNode.js内でosというモジュールをrequireすることで取得できます。
以下はO/Sの情報を取得しWindows環境ではchromeというオプションを、 それ以外ではGoogle Chromeというオプションを付与して、 Developers.IOを開くといったgulpタスクの例になります。
gulpfile.js
'use strict'; var os = require('os'); var gulp = require('gulp'); var gulpopen = require('gulp-open'); gulp.task('default',function(){ var chrome = os.type().toString().match('Windows') !== null ? 'chrome':'Google Chrome'; var options = { url:'https://dev.classmethod.jp/', app: chrome }; return gulp.src('./gulpfile.js') .pipe(gulpopen('',options)); });
動作確認
# npm install gulp # npm install gulp-open # gulp
まとめ
Gulpでフロントエンド用のタスクを作っていたりすると、 O/Sごとに挙動を切り替えたいといったケースが発生することがあります。
そう言った際に上記の方法でO/Sの情報が取得できますので、 その後条件分岐により挙動を切り替えることが可能になります。